package java_learn.java_jinjie.FunctionalInterface.LambdaTest;

import java.util.function.Supplier;

/**
 * 练习：求数组元素最大值
 * 使用Supplier接口作为方法参数类型，通过Lambda表达式求出int数组中的最大值。
 * 提示：接口的泛型请使用java.lang.Integer类。
 *
 * @Author: 李浩然
 * @Date: 2021/5/9 1:37 下午
 */
public class Demo02SupplierTest {
    //定义一个方法,用于获取int类型数组中元素的最大值,方法的参数传递Supplier接口,泛型使用Integer
    public static int getMax(Supplier<Integer> sup) {
        return sup.get();
    }

    public static void main(String[] args) {
        int[] arr = {100, 0, -5, -50, 88, 33};
        int maxValue = getMax(() -> {
            int max = arr[0];
            for (int num : arr) {
                if (num > max) {
                    max = num;
                }
            }
            return max;
        });
        System.out.println(maxValue);
    }
}
